home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / TrnsFrmB.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  10.1 KB  |  409 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:TrnsFrmB.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODBaseTransform_xh
  18. #define SOM_ODBaseTransform_xh
  19.  
  20. class ODBaseTransform;
  21.  
  22. #define ODBaseTransform_MajorVersion 1
  23. #define ODBaseTransform_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODObject_xh
  30. #include <ODObject.xh>
  31. #endif
  32.  
  33. #ifndef ODBaseTransform_API
  34. #define ODBaseTransform_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODStorageUnit;
  44. class ODShape;
  45. class ODTransform;
  46.  
  47. /*
  48.  * End of user-defined types.
  49.  */
  50.  
  51. #if applec ^ PRAGMA_LIB_EXPORT
  52. #pragma lib_export on
  53. #endif
  54.  
  55.  
  56. /* A procedure to create the ODBaseTransform Class */
  57. SOMEXTERN SOMClass * SOMLINK ODBaseTransformNewClass(
  58.         integer4 majorVersion,
  59.         integer4 minorVersion);
  60.  
  61. /* The API to the ODBaseTransform class object, and the methods it introduces. */
  62. typedef struct ODBaseTransformClassDataStructure {
  63.     SOMClass *classObject;
  64.     somMToken GetType;
  65.     somMToken GetOffset;
  66.     somMToken GetPreScaleOffset;
  67.     somMToken GetScale;
  68.     somMToken GetMatrix;
  69.     somMToken HasMatrix;
  70.     somMToken IsSameAs;
  71.     somMToken Reset;
  72.     somMToken SetMatrix;
  73.     somMToken Copy;
  74.     somMToken CopyFrom;
  75.     somMToken SetOffset;
  76.     somMToken MoveBy;
  77.     somMToken ScaleBy;
  78.     somMToken ScaleDownBy;
  79.     somMToken Invert;
  80.     somMToken PreCompose;
  81.     somMToken PostCompose;
  82.     somMToken TransformPoint;
  83.     somMToken InvertPoint;
  84.     somMToken TransformShape;
  85.     somMToken InvertShape;
  86.     somMToken WriteTo;
  87.     somMToken ReadFrom;
  88.     somMToken reserved1;
  89. } ODBaseTransformClassDataStructure;
  90. #ifdef SOM_NO_DATA_EXPORTS
  91.    SOMEXTERN ODBaseTransformClassDataStructure * ODBaseTransformGetClassData ( void );
  92. #   undef ODBaseTransformClassData
  93. #   define ODBaseTransformClassData (*ODBaseTransformGetClassData())
  94. #else
  95.    SOMEXTERN ODBaseTransformClassDataStructure ODBaseTransformClassData;
  96. #endif /* SOM_NO_DATA_EXPORTS */
  97.  
  98. #if applec ^ PRAGMA_LIB_EXPORT
  99. #pragma lib_export off
  100. #endif
  101.  
  102. #define _ODBaseTransform ODBaseTransformClassData.classObject
  103.  
  104. /* The API to parentMtabs for ODBaseTransform, and the instance data it introduces. */
  105. SOMEXTERN struct ODBaseTransformCClassDataStructure {
  106.     somMethodTabs parentMtab;
  107.     somDToken instanceDataToken;
  108. } ODBaseTransformCClassData;
  109.  
  110. /*
  111.  * -- Typedefs for Procedures that support Methods introduced by ODBaseTransform
  112.  */
  113. SOMEXTERN {
  114. typedef ODTransformType   (* SOMLINK somTD_ODBaseTransform_GetType)(ODBaseTransform *somSelf, Environment *ev);
  115. typedef void   (* SOMLINK somTD_ODBaseTransform_GetOffset)(ODBaseTransform *somSelf, Environment *ev,
  116.         ODPoint* offset);
  117. typedef void   (* SOMLINK somTD_ODBaseTransform_GetPreScaleOffset)(ODBaseTransform *somSelf, Environment *ev,
  118.         ODPoint* offset);
  119. typedef void   (* SOMLINK somTD_ODBaseTransform_GetScale)(ODBaseTransform *somSelf, Environment *ev,
  120.         ODPoint* scale);
  121. typedef void   (* SOMLINK somTD_ODBaseTransform_GetMatrix)(ODBaseTransform *somSelf, Environment *ev,
  122.         ODMatrix* matrix);
  123. typedef ODBoolean   (* SOMLINK somTD_ODBaseTransform_HasMatrix)(ODBaseTransform *somSelf, Environment *ev);
  124. typedef ODBoolean   (* SOMLINK somTD_ODBaseTransform_IsSameAs)(ODBaseTransform *somSelf, Environment *ev,
  125.         ODTransform* compareTransform);
  126. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_Reset)(ODBaseTransform *somSelf, Environment *ev);
  127. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_SetMatrix)(ODBaseTransform *somSelf, Environment *ev,
  128.         ODMatrix* matrix);
  129. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_Copy)(ODBaseTransform *somSelf, Environment *ev);
  130. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_CopyFrom)(ODBaseTransform *somSelf, Environment *ev,
  131.         ODTransform* sourceTransform);
  132. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_SetOffset)(ODBaseTransform *somSelf, Environment *ev,
  133.         ODPoint* point);
  134. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_MoveBy)(ODBaseTransform *somSelf, Environment *ev,
  135.         ODPoint* point);
  136. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_ScaleBy)(ODBaseTransform *somSelf, Environment *ev,
  137.         ODPoint* scale);
  138. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_ScaleDownBy)(ODBaseTransform *somSelf, Environment *ev,
  139.         ODPoint* scale);
  140. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_Invert)(ODBaseTransform *somSelf, Environment *ev);
  141. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_PreCompose)(ODBaseTransform *somSelf, Environment *ev,
  142.         ODTransform* transform);
  143. typedef ODTransform*   (* SOMLINK somTD_ODBaseTransform_PostCompose)(ODBaseTransform *somSelf, Environment *ev,
  144.         ODTransform* transform);
  145. typedef ODPoint   (* SOMLINK somTD_ODBaseTransform_TransformPoint)(ODBaseTransform *somSelf, Environment *ev,
  146.         ODPoint* point);
  147. typedef ODPoint   (* SOMLINK somTD_ODBaseTransform_InvertPoint)(ODBaseTransform *somSelf, Environment *ev,
  148.         ODPoint* point);
  149. typedef void   (* SOMLINK somTD_ODBaseTransform_TransformShape)(ODBaseTransform *somSelf, Environment *ev,
  150.         ODShape** shape);
  151. typedef void   (* SOMLINK somTD_ODBaseTransform_InvertShape)(ODBaseTransform *somSelf, Environment *ev,
  152.         ODShape** shape);
  153. typedef void   (* SOMLINK somTD_ODBaseTransform_WriteTo)(ODBaseTransform *somSelf, Environment *ev,
  154.         ODStorageUnit* storageUnit);
  155. typedef void   (* SOMLINK somTD_ODBaseTransform_ReadFrom)(ODBaseTransform *somSelf, Environment *ev,
  156.         ODStorageUnit* storageUnit);
  157. }
  158.  
  159. #endif /* ODBaseTransform_API */
  160.  
  161.  
  162. /*
  163.  * -- Method Tokens are Thunks
  164.  */
  165. #undef somresolve_
  166. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  167.  
  168. /*
  169.  * -- The C++ Wrapper Class for ODBaseTransform
  170.  */
  171. class ODBaseTransform : public ODObject
  172. {
  173. public:
  174.  
  175. void *operator new(size_t size)
  176. {
  177.    SOM_IgnoreWarning(size);
  178.    if (!ODBaseTransformClassData.classObject) 
  179.       ODBaseTransformNewClass(ODBaseTransform_MajorVersion,ODBaseTransform_MinorVersion);
  180.    return (void *)
  181.       ((somTD_SOMClass_somNew)
  182.       somresolve_((SOMObject *)((void*)(ODBaseTransformClassData.classObject)),
  183.                  SOMClassClassData.somNew))
  184.          ((SOMClass *)((void*)(ODBaseTransformClassData.classObject)));
  185. }
  186.  
  187. void operator delete(void * obj)
  188. {
  189.    ((SOMObject *)obj)->somFree();
  190. }
  191.  
  192. /* public method: GetType */
  193. ODTransformType   GetType(Environment *ev)
  194. {
  195.    return SOM_Resolve(this,ODBaseTransform,GetType)
  196.     (this,ev);
  197. }
  198.  
  199.  
  200. /* public method: GetOffset */
  201. void   GetOffset(Environment *ev,
  202.         ODPoint* offset)
  203. {
  204.    SOM_Resolve(this,ODBaseTransform,GetOffset)
  205.     (this,ev,offset);
  206. }
  207.  
  208.  
  209. /* public method: GetPreScaleOffset */
  210. void   GetPreScaleOffset(Environment *ev,
  211.         ODPoint* offset)
  212. {
  213.    SOM_Resolve(this,ODBaseTransform,GetPreScaleOffset)
  214.     (this,ev,offset);
  215. }
  216.  
  217.  
  218. /* public method: GetScale */
  219. void   GetScale(Environment *ev,
  220.         ODPoint* scale)
  221. {
  222.    SOM_Resolve(this,ODBaseTransform,GetScale)
  223.     (this,ev,scale);
  224. }
  225.  
  226.  
  227. /* public method: GetMatrix */
  228. void   GetMatrix(Environment *ev,
  229.         ODMatrix* matrix)
  230. {
  231.    SOM_Resolve(this,ODBaseTransform,GetMatrix)
  232.     (this,ev,matrix);
  233. }
  234.  
  235.  
  236. /* public method: HasMatrix */
  237. ODBoolean   HasMatrix(Environment *ev)
  238. {
  239.    return SOM_Resolve(this,ODBaseTransform,HasMatrix)
  240.     (this,ev);
  241. }
  242.  
  243.  
  244. /* public method: IsSameAs */
  245. ODBoolean   IsSameAs(Environment *ev,
  246.         ODTransform* compareTransform)
  247. {
  248.    return SOM_Resolve(this,ODBaseTransform,IsSameAs)
  249.     (this,ev,compareTransform);
  250. }
  251.  
  252.  
  253. /* public method: Reset */
  254. ODTransform*   Reset(Environment *ev)
  255. {
  256.    return SOM_Resolve(this,ODBaseTransform,Reset)
  257.     (this,ev);
  258. }
  259.  
  260.  
  261. /* public method: SetMatrix */
  262. ODTransform*   SetMatrix(Environment *ev,
  263.         ODMatrix* matrix)
  264. {
  265.    return SOM_Resolve(this,ODBaseTransform,SetMatrix)
  266.     (this,ev,matrix);
  267. }
  268.  
  269.  
  270. /* public method: Copy */
  271. ODTransform*   Copy(Environment *ev)
  272. {
  273.    return SOM_Resolve(this,ODBaseTransform,Copy)
  274.     (this,ev);
  275. }
  276.  
  277.  
  278. /* public method: CopyFrom */
  279. ODTransform*   CopyFrom(Environment *ev,
  280.         ODTransform* sourceTransform)
  281. {
  282.    return SOM_Resolve(this,ODBaseTransform,CopyFrom)
  283.     (this,ev,sourceTransform);
  284. }
  285.  
  286.  
  287. /* public method: SetOffset */
  288. ODTransform*   SetOffset(Environment *ev,
  289.         ODPoint* point)
  290. {
  291.    return SOM_Resolve(this,ODBaseTransform,SetOffset)
  292.     (this,ev,point);
  293. }
  294.  
  295.  
  296. /* public method: MoveBy */
  297. ODTransform*   MoveBy(Environment *ev,
  298.         ODPoint* point)
  299. {
  300.    return SOM_Resolve(this,ODBaseTransform,MoveBy)
  301.     (this,ev,point);
  302. }
  303.  
  304.  
  305. /* public method: ScaleBy */
  306. ODTransform*   ScaleBy(Environment *ev,
  307.         ODPoint* scale)
  308. {
  309.    return SOM_Resolve(this,ODBaseTransform,ScaleBy)
  310.     (this,ev,scale);
  311. }
  312.  
  313.  
  314. /* public method: ScaleDownBy */
  315. ODTransform*   ScaleDownBy(Environment *ev,
  316.         ODPoint* scale)
  317. {
  318.    return SOM_Resolve(this,ODBaseTransform,ScaleDownBy)
  319.     (this,ev,scale);
  320. }
  321.  
  322.  
  323. /* public method: Invert */
  324. ODTransform*   Invert(Environment *ev)
  325. {
  326.    return SOM_Resolve(this,ODBaseTransform,Invert)
  327.     (this,ev);
  328. }
  329.  
  330.  
  331. /* public method: PreCompose */
  332. ODTransform*   PreCompose(Environment *ev,
  333.         ODTransform* transform)
  334. {
  335.    return SOM_Resolve(this,ODBaseTransform,PreCompose)
  336.     (this,ev,transform);
  337. }
  338.  
  339.  
  340. /* public method: PostCompose */
  341. ODTransform*   PostCompose(Environment *ev,
  342.         ODTransform* transform)
  343. {
  344.    return SOM_Resolve(this,ODBaseTransform,PostCompose)
  345.     (this,ev,transform);
  346. }
  347.  
  348.  
  349. /* public method: TransformPoint */
  350. ODPoint   TransformPoint(Environment *ev,
  351.         ODPoint* point)
  352. {
  353.    return SOM_Resolve(this,ODBaseTransform,TransformPoint)
  354.     (this,ev,point);
  355. }
  356.  
  357.  
  358. /* public method: InvertPoint */
  359. ODPoint   InvertPoint(Environment *ev,
  360.         ODPoint* point)
  361. {
  362.    return SOM_Resolve(this,ODBaseTransform,InvertPoint)
  363.     (this,ev,point);
  364. }
  365.  
  366.  
  367. /* public method: TransformShape */
  368. void   TransformShape(Environment *ev,
  369.         ODShape** shape)
  370. {
  371.    SOM_Resolve(this,ODBaseTransform,TransformShape)
  372.     (this,ev,shape);
  373. }
  374.  
  375.  
  376. /* public method: InvertShape */
  377. void   InvertShape(Environment *ev,
  378.         ODShape** shape)
  379. {
  380.    SOM_Resolve(this,ODBaseTransform,InvertShape)
  381.     (this,ev,shape);
  382. }
  383.  
  384.  
  385. /* public method: WriteTo */
  386. void   WriteTo(Environment *ev,
  387.         ODStorageUnit* storageUnit)
  388. {
  389.    SOM_Resolve(this,ODBaseTransform,WriteTo)
  390.     (this,ev,storageUnit);
  391. }
  392.  
  393.  
  394. /* public method: ReadFrom */
  395. void   ReadFrom(Environment *ev,
  396.         ODStorageUnit* storageUnit)
  397. {
  398.    SOM_Resolve(this,ODBaseTransform,ReadFrom)
  399.     (this,ev,storageUnit);
  400. }
  401.  
  402.  
  403.  
  404. };   /* ODBaseTransform */
  405.  
  406.  
  407.  
  408. #endif       /* SOM_ODBaseTransform_xh */
  409.